/**
 * 
 */
package com.monkeyboy.security.social.qq.connect;

import org.springframework.social.oauth2.AbstractOAuth2ServiceProvider;

import com.monkeyboy.security.social.qq.api.QQ;
import com.monkeyboy.security.social.qq.api.QQimpl;

/**
 * @Description QQServiceProvider连接服务提供商
 * @author Gavin<br>
 *         2019年8月27日
 */
public class QQServiceProvider extends AbstractOAuth2ServiceProvider<QQ> {
	private String appId;
	private static final String URL_AUTHORIZE = "https://graph.qq.com/oauth2.0/authorize";// 获取授权码的地址
	private static final String URL_ACCESS_TOKEN = "https://graph.qq.com/oauth2.0/token";// 获取accessToken的地址

	/**
	 * @param oauth2Operations
	 */
	public QQServiceProvider(String appId, String appSecret) {
		// super(new OAuth2Template(appId, appSecret, URL_AUTHORIZE,
		// URL_ACCESS_TOKEN));默认的不支持string数据类型请求处理，需要自定义消息转换方式
		super(new QQAuth2Template(appId, appSecret, URL_AUTHORIZE, URL_ACCESS_TOKEN));
		this.appId = appId;
	}

	@Override
	public QQ getApi(String accessToken) {
		// TODO Auto-generated method stub
		return new QQimpl(accessToken, appId);
	}

}
